package com.iplant.mes.service.po.sfc.autoStation;

import com.fasterxml.jackson.annotation.JsonProperty;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;

/**
 * （设备集成）工单状态反馈
 *
 * @author YouWang·Peng
 * 2023-12-18 10:56:07
 */
public class SFCStatusFeedback implements Serializable {

    /**
     * 工单ID
     */
    public String ID = "";
    /**
     * 订单号 工单所属订单
     */
    public String OrderID = "";
    /**
     * 工序ID
     */
    public int RoutePartPointID = 0;
    /**
     * 产品ID
     */
    public int ProductID = 0;
    /**
     * 工位ID
     */
    public int StationID = 0;
    /**
     * 任务日期
     */
    public String StationDate = "";
    /**
     * 班次
     */
    public int ShiftType = 0;
    /**
     * 产品计划数
     */
    public float PlanNum = 0.0f;
    /**
     * 计划工件数
     */
    public int PlanComNum = 0;
    /**
     * 工件完成数
     */
    public int ActComNum = 0;
    /**
     * 工单状态
     * 待开工：1
     * 已开工：2
     * 暂停中：3
     * 已完工：4
     */
    public int Status = 0;
    /**
     * 物料清单
     */
    public List<SFCStatusFeedbackItem> MaterialList = new ArrayList<>();

    @JsonProperty("ID")
    public String getID() {
        return ID;
    }

    public void setID(String ID) {
        this.ID = ID;
    }

    @JsonProperty("OrderID")
    public String getOrderID() {
        return OrderID;
    }

    public void setOrderID(String orderID) {
        OrderID = orderID;
    }

    @JsonProperty("RoutePartPointID")
    public int getRoutePartPointID() {
        return RoutePartPointID;
    }

    public void setRoutePartPointID(int routePartPointID) {
        RoutePartPointID = routePartPointID;
    }

    @JsonProperty("ProductID")
    public int getProductID() {
        return ProductID;
    }

    public void setProductID(int productID) {
        ProductID = productID;
    }

    @JsonProperty("StationID")
    public int getStationID() {
        return StationID;
    }

    public void setStationID(int stationID) {
        StationID = stationID;
    }

    @JsonProperty("StationDate")
    public String getStationDate() {
        return StationDate;
    }

    public void setStationDate(String stationDate) {
        StationDate = stationDate;
    }

    @JsonProperty("ShiftType")
    public int getShiftType() {
        return ShiftType;
    }

    public void setShiftType(int shiftType) {
        ShiftType = shiftType;
    }

    @JsonProperty("PlanNum")
    public float getPlanNum() {
        return PlanNum;
    }

    public void setPlanNum(float planNum) {
        PlanNum = planNum;
    }

    @JsonProperty("PlanComNum")
    public int getPlanComNum() {
        return PlanComNum;
    }

    public void setPlanComNum(int planComNum) {
        PlanComNum = planComNum;
    }

    @JsonProperty("ActComNum")
    public int getActComNum() {
        return ActComNum;
    }

    public void setActComNum(int actComNum) {
        ActComNum = actComNum;
    }

    @JsonProperty("Status")
    public int getStatus() {
        return Status;
    }

    public void setStatus(int status) {
        Status = status;
    }

    @JsonProperty("MaterialList")
    public List<SFCStatusFeedbackItem> getMaterialList() {
        return MaterialList;
    }

    public void setMaterialList(List<SFCStatusFeedbackItem> materialList) {
        MaterialList = materialList;
    }
}
